前言
本题知识点:PHP 文件包含漏洞 & 利用网页背景隐藏信息
WP
进入题目页面,乍看没有什么明显的思路,查看网页源代码,发现源码中出现了部分在页面中被隐藏了的信息,这才意识到了出题者的心思
这个小技巧原理并不复杂,主要是在前端中利用网页的背景颜色来覆盖相同颜色的内容,使得相关信息肉眼不可见,初次相遇确实不易 Get 到思路,可以通过全选页面内容的方式,使所有的信息展现出来
点击隐藏信息,题目跳转到了一个新的页面
尝试点击SECRET按钮,网页再次跳转
根据该页面的信息判断,SECRET网页可能存在一个持续时间很短的操作或者页面跳转,故借助 burpsuite 对其进行抓包分析
果然,在页面的回显中发现了新的提示 ‘secr3t.php’,访问该文件,得到进一步的线索
对代码进行审计,猜测考察点可能是文件包含漏洞,结合代码的提示,先试着包含 flag.php 看看结果
首先还是考虑一下最开始的小技巧,发现响应页面并没有隐藏什么信息,故进一步对代码进行分析,考虑到代码中过滤的关键词包括 ‘input’、’data’ 等,猜测可能跟 PHP 的伪协议有点关系,故采用 php://filter
试着读取 flag.php 文件的内容,构造相应的 URL 如下:
1 | ......?file=php://filter/read=convert.base64-encode/resource=flag.php |
将读取到的文件内容进行 base64解码,即可得到 flag